1. Field of the Invention
The present invention relates to a method and apparatus for modeling computerized applications intended for distributed environments according to different relevant attributes, thus eliminating the need to relate to actual contents associated with of the application.
2. Discussion of the Related Art
Distributed environments typically provide users with access to multiple applications, and should aim at enabling overall optimal performance. A distributed environment typically comprises one or more servers, residing in one or more data centers, one or more (typically in the hundreds or thousands) users, and a communication channel, typically a distributed landscape, such as a wide area network (WAN). The performance of each application relies on the characteristics and resource requirements of the application itself, as well as on the network transportation generated by that application and additional ones, and on the environment characteristics, including the physical equipment, load, optimization applications used and additional factors. When an application is being developed, it is desirable to evaluate its performance prior to deployment time. Such evaluation is required for the manufacturer both as part of the development and optimization process, and in order to inform future users about the recommended hardware and software environments and expected performance. However, it is often the case that before application development has reached an advanced stage, the application's performance on a distributed application delivery infrastructure can not be assessed, thus creating a deadlock. Additional need arises from network equipment vendors or network managers, wishing to optimize the usage of a network. However, without specific information related to applications expected to run in the environment, and their behavior, such optimization or information can not be established. When the time comes for deployment for an application or a network, it is usually too late or too expensive, both financially and reputation-wise for significant changes either in the application or in the network. When deployment time arrives, a network vendor or operator may be required to supply additional hardware so that one or more applications will exhibit acceptable performance, if at all possible. Alternatively, the application developer might try to introduce changes to the application, which might hold back deployment time, require significant manpower and resources, and be sub-optimal relatively to changes introduced at an earlier stage.
There is therefore a need for an apparatus and method for modeling the behavior of an application running in a distributed environment without relating to the actual contents of the application. This will enable both the application and networks expected to run the application, to be enhanced or prepared to provide improved performance.